#ifndef TEXTUREOVERVIEW_H
#define TEXTUREOVERVIEW_H

#include <ui_materialgenericlistoverview.h>
#include <material/materialeditor.h>
#include <qobject.h>

class cceMaterialTextureFilterModel;
class cceMaterialTextureTreeModel;
class cceMaterialTextureOverview : public cceMaterialOverviewAbstract
{
  Q_OBJECT
private:
  Ui::MaterialGenericListOverview   _gui;

  cceMaterialTextureFilterModel     *_proxyModel;
  cceMaterialTextureTreeModel       *_model;

  void Edit (const QModelIndex &srcIndex);

  void UpdateButtonState ();

private slots:
  void on_pushButtonAdd_clicked ();
  void on_pushButtonRemove_clicked ();
  void on_pushButtonEdit_clicked ();
  void on_pushButtonClearFilter_clicked ();
  void on_treeView_activated (const QModelIndex &index);
  void on_lineEditFilter_textChanged (const QString &text);

  void TreeViewSelectionChanged (const QItemSelection&, const QItemSelection&);

public:

public:
  cceMaterialTextureOverview(QWidget *parent);

  virtual cceMaterialEditorAbstract* CreateEditor (cceMaterialItem* item);
};

#endif // TEXTUREOVERVIEW_H
